package chemtools_logica.BDL.SFBean;

import chemtools_logica.BDL.IL.BDL_SFTipoproductoxOrdenProduccionLocal;
import chemtools_logica.BDL.IR.BDL_SFTipoproductoxOrdenProduccionRemote;

import chemtools_logica.Entidades.Tipoproductoxordenproduccion;

import chemtools_logica.Entidades.TipoproductoxordenproduccionPK;

import java.util.List;

import javax.annotation.Resource;

import javax.ejb.SessionContext;
import javax.ejb.Stateless;

import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless(name = "BDL_SFTipoproductoxOrdenProduccion", mappedName = "map-BDL_SFTipoproductoxOrdenProduccion")
public class BDL_SFTipoproductoxOrdenProduccionBean implements BDL_SFTipoproductoxOrdenProduccionRemote,
                                                               BDL_SFTipoproductoxOrdenProduccionLocal {
    @Resource
    SessionContext sessionContext;
    @PersistenceContext(unitName = "Chemtools_Logica")
    private EntityManager em;

    public BDL_SFTipoproductoxOrdenProduccionBean() {
    }

    public Tipoproductoxordenproduccion persistTipoproductoxordenproduccion(Tipoproductoxordenproduccion tipoproductoxordenproduccion) {
        em.persist(tipoproductoxordenproduccion);
        return tipoproductoxordenproduccion;
    }

    public Tipoproductoxordenproduccion mergeTipoproductoxordenproduccion(Tipoproductoxordenproduccion tipoproductoxordenproduccion) {
        return em.merge(tipoproductoxordenproduccion);
    }

    public void removeTipoproductoxordenproduccion(Tipoproductoxordenproduccion tipoproductoxordenproduccion) {
        tipoproductoxordenproduccion =
            em.find(Tipoproductoxordenproduccion.class,
                    new TipoproductoxordenproduccionPK(tipoproductoxordenproduccion.getOrdenproduccion().getIdOrdenProduccion(),
                                                       tipoproductoxordenproduccion.getTipoproducto().getIdTipoProducto()));
        em.remove(tipoproductoxordenproduccion);
    }

    /** <code>select o from Tipoproductoxordenproduccion o</code> */
    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
    public List<Tipoproductoxordenproduccion> getTipoproductoxordenproduccionFindAll() {
        return em.createNamedQuery("Tipoproductoxordenproduccion.findAll",
                                   Tipoproductoxordenproduccion.class).getResultList();
    }
}
